// 快速创建管理员用户
const mongoose = require('mongoose');
const User = require('../models/user');
const passwordUtils = require('../utils/passwordUtils');
const { connectDB } = require('../config/db');
require('dotenv').config();

async function createAdmin() {
  try {
    console.log('连接数据库...');
    await connectDB();
    console.log('✓ 数据库连接成功');

    // 检查管理员是否已存在
    const existingAdmin = await User.findOne({ username: 'admin' });
    if (existingAdmin) {
      console.log('✓ 管理员用户已存在');
      console.log('  用户名: admin');
      console.log('  密码: 123456');
      process.exit(0);
      return;
    }

    // 创建管理员用户
    const hashedPassword = await passwordUtils.hashPassword('123456');
    const admin = new User({
      username: 'admin',
      password: hashedPassword,
      email: 'admin@example.com',
      name: '系统管理员',
      role: 'admin',
      phone: '13800138000',
      status: 'active',
      createdAt: new Date(),
      updatedAt: new Date()
    });

    await admin.save();
    console.log('✓ 管理员用户创建成功！');
    console.log('');
    console.log('📝 登录信息:');
    console.log('  用户名: admin');
    console.log('  密码: 123456');
    console.log('');
    
    process.exit(0);
  } catch (error) {
    console.error('✗ 创建管理员失败:', error);
    process.exit(1);
  }
}

createAdmin();

